#ifndef	_ASUSOSD_QUEUE_H_
#define	_ASUSOSD_QUEUE_H_

typedef struct _queue_		queue;
typedef struct _queue_private_	queue_private;

typedef unsigned int (*queue_method1)(queue*);
typedef unsigned int (*queue_method2)(queue*, unsigned int);

struct _queue_{
	queue_private	*info;
	queue_method2	add;
	queue_method1	remove;
	queue_method1	isFull;
	queue_method1	isEmpty;
};

queue*	queue_new(int size);
void	queue_destroy(queue*);
#endif
